// //第一题：分析并写出最终执行结果。（难度**）
// console.log('1');

// setTimeout(() => {
//   console.log('2');
//   Promise.resolve().then(() => {
//     console.log('3');
//   });
// }, 0);
// Promise.resolve().then(() => {
//   console.log('4');
//   setTimeout(() => {
//     console.log('5');
//   }, 0);
// });
// console.log('6');
//这题的答案是:1 6 4 2 3 5

//第二题：分析并写出最终执行结果。（难度***）
// console.log(1);
// new Promise((resolve) => {
//   console.log(2);
//   resolve();
// }).then(() => {
//   console.log(3);
//   setTimeout(() => {
//     console.log(4);
//   }, 0);
// });
// setTimeout(() => {
//   console.log(5);
//   setTimeout(() => {
//     console.log(6);
//   }, 0);
// }, 0);
// console.log(7);
 //答案是1 2 7 3 5 4 6
// //第三题：分析并写出最终执行结果。（难度***）
// console.log("script start");

// setTimeout(function () {
//   console.log("setTimeout");
// }, 0);

// Promise.resolve()
//   .then(function () {
//     console.log("promise1");
//   })
//   .then(function () {
//     console.log("promise2");
//   });

// console.log("script end");
//答案是:script start script end promise1 promise2 settimeout

//第四题：分析并写出最终执行结果。（难度****）
// async function async1() {
//   console.log("async1 start");
//   await async2();
//   console.log("async1 end");
// }

// async function async2() {
//   console.log("async2");
// }

// console.log("script start");

// setTimeout(() => {
//   console.log("setTimeout");
// }, 0);

// async1();

// new Promise((resolve) => {
//   console.log("promise1");
//   resolve();
// }).then(() => {
//   console.log("promise2");
// });

// console.log("script end");
//script start async start async 2 promise1 script end async1 end promise2 settimeout

// //第五题：分析并写出最终执行结果。（难度****）
// async function foo() {
//   console.log("foo start");
//   await bar();
//   console.log("foo end");
// }

// async function bar() {
//   console.log("bar");
// }
// console.log("script start");

// setTimeout(function () {
//   console.log("setTimeout");
// }, 0);

// foo();

// new Promise(function (resolve) {
//   console.log("promise constructor");
//   resolve();
// }).then(function () {
//   console.log("promise then");
// });

// console.log("script end");
// script start, foo start,bar,promise constructor,script end,foo end,promise then,setTimeout

// //第六题：分析并写出最终执行结果。（难度******）
// console.log("A");

// setTimeout(() => {
//   console.log("B");
//   Promise.resolve().then(() => {
//     console.log("C");
//     setTimeout(() => {
//       console.log("D");
//     }, 0);
//   });
// }, 0);

// new Promise((resolve) => {
//   console.log("E");
//   setTimeout(() => {
//     console.log("F");
//     resolve();
//   }, 100);
// }).then(() => {
//   console.log("G");
//   setTimeout(() => {
//     console.log("H");
//   }, 0);
// });

// console.log("I");
